#ifndef __KYLIN_LMKEY_H_
#define __KYLIN_LMKEY_H_

#include "type.h"

#include "ukey-macro.h"

#ifdef ENABLE_LMKEY

/*
 * activate system with longmai key
 * return NO_ERROR if succeed, or error number if not
 */
int lmkey_activate_system(const char* license_serial, 
			  const char* kyinfo_ukey, const char* expire_date, 
			  encrypted_number_generator ukey_raw_generator);

/*
 * get hid of longmai key
 * return NO_ERROR if succeed, or error number if not
 */
char* lmkey_get_hid();

/*
 * dump longmai key information to file f
 * encrypt: whether encryption is needed or not
 * display_all: whether display all information or not
 * return NO_ERROR if succeed, or error number if not
 */
int lmkey_dump();

/*
 * find longmai key
 * return NO_ERROR if feitian key is inserted, or error number if not
 */
int lmkey_find(unsigned int* count);

#endif // ENABLE_LMKEY

#endif
